#include<bits/stdc++.h>
#define ll long long
using namespace std;

int n,q;
int a[8005];
int b[8005];
bool can=0;

struct node{
	int num;
	int id;
};

bool cmp(node x,node y){
	if(x.num!=y.num)return x.num<y.num;
	return x.id<y.id;
}

void d(){
	node c[8005];
	for(int i=1;i<=n;i++)c[i].num=a[i],c[i].id=i;
	sort(c+1,c+1+n,cmp);
	for(int i=1;i<=n;i++)b[c[i].id]=i;
}

int main(){
	freopen("sort.in","r",stdin);
	freopen("sort.out","w",stdout);
	
	scanf("%d%d",&n,&q);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	
	for(int i=1;i<=q;i++){
		int op;
		scanf("%d",&op);
		if(op==1){
			int x,v;
			scanf("%d%d",&x,&v);
			a[x]=v;
			can=0;
		}
		else{
			int x;
			scanf("%d",&x);
			if(can){
				printf("%d\n",b[x]);
			}
			else{
				d();
				can=1;
				printf("%d\n",b[x]);
			}
		}
	}
	return 0;
}

